package com.twb.auth.service;

import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotBlank;

import com.twb.auth.entity.twbApi.TwbApi;
import com.twb.auth.entity.twbApi.dto.SearchTwbApiDto;
import com.twb.auth.entity.twbApi.vo.SaveTwbApiVo;
import com.twb.auth.entity.twbApi.vo.SearchTwbApiVo;
import com.twb.auth.entity.twbApi.vo.UpdateTwbApiByIdVo;
import com.twb.core.base.entity.TwbPageInfo;
import com.twb.core.base.service.IBaseService;

/** 
 * @ClassName ITwbApiService 
 * @Description API信息 service接口
 
 * @author DSY
 * @date 2021-05-13 13:43:43 
 */ 
public interface ITwbApiService extends IBaseService<TwbApi> {

	/**
	 * @Title  searchTwbApi
	 * @Description 分页查询
	 * @param vo
	 * @return
	 * @author DSY
	 * @date 2021-05-13 13:43:43
	 */
	public TwbPageInfo<SearchTwbApiDto> searchTwbApi(SearchTwbApiVo vo);
	
	/**
	 * @Title  searchTwbApi
	 * @Description 查询集合
	 * @param vo
	 * @return
	 * @author DSY
	 * @date 2021-05-13 13:43:43
	 */
	public List<SearchTwbApiDto> searchTwbApiList(SearchTwbApiVo vo);

	/**
	 * @Title  saveTwbApi
	 * @Description 保存信息
	 * @param vo
	 * @return
	 * @author DSY
	 * @date 2021-05-13 13:43:43
	 */
	public boolean saveTwbApi(SaveTwbApiVo vo);

	/**
	 * @Title  updateTwbApiById
	 * @Description 更新信息
	 * @param vo
	 * @return
	 * @author DSY
	 * @date 2021-05-13 13:43:43
	 */
	public boolean updateTwbApiById(UpdateTwbApiByIdVo vo);

	/**
	 * @Title  deleteTwbApiById
	 * @Description 删除信息
	 * @param id
	 * @return
	 * @author DSY
	 * @date 2021-05-13 13:43:43
	 */
	public boolean deleteTwbApiById(String id);
	/**
	 * @Title  deleteTwbApiByIds
	 * @Description 批量删除信息
	 * @param ids
	 * @return
	 * @author DSY
	 * @date 2021-05-13 13:43:43
	 */
	public boolean deleteTwbApiByIds(String ids);
	
	/**
	 * @Title  logicBatchDeleteTwbApiByIds
	 * @Description 批量逻辑删除
	 * @param ids
	 * @return
	 * @author DSY
	 * @date 2021-05-13 13:43:43
	 */
	public int logicBatchDeleteTwbApiByIds(String ids);
	/**
	 * @Title  exportExcel
	 * @Description 导出excel
	 * @param exportExcelVo
	 * @param searchVo
	 * @return
	 * @author DSY
	 * @date 2021-05-13 13:43:43
	 */
	public void exportExcel(SearchTwbApiVo vo, HttpServletResponse response) throws Exception;
	
	/**
	 * @Title  importExcel
	 * @Description 导入excel
	 * @param map
	 * @return
	 * @author DSY
	 * @date 2021-05-13 13:43:43
	 */
	public int importExcel(Map<String, String> map);

	/**
	 * @Title listApiIdsByResourceId
	 * @Description 获取资源API ID
	 * @param resourceId
	 * @return
	 * @author DSY
	 * @date 2021年6月29日 下午12:04:19
	 */
	public List<SearchTwbApiDto> listApiIdsByResourceId(@NotBlank String resourceId);

}
